package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ExcelAnno;
import cn.fintecher.pangolin.common.model.RemarkModel;
import cn.fintecher.pangolin.common.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;




/**
 * @Author : hanwannan
 * @Description : 数据修复-特调资料
 * @Date : 2018/8/23.
 */
@Data
@Document(indexName = Constants.SPECIAL_TRANSFER_DATA, type = Constants.SPECIAL_TRANSFER_DATA, shards = 1, replicas = 0)
@ApiModel(value = "SpecialTransferData", description = "特调资料")
public class SpecialTransferData {

    @Id
    @ApiModelProperty(notes = "特定字段做Md5生成")
    private String id;

    @ApiModelProperty(notes = "姓名")
    @ExcelAnno(cellName = "姓名", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String name;

    @ApiModelProperty("证件号")
    @ExcelAnno(cellName = "证件号", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String idNo;

    @ApiModelProperty("银行")
    @ExcelAnno(cellName = "银行", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String bank;

    @ApiModelProperty("申调地区")
    @ExcelAnno(cellName = "申调地区", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String applyTransferArea;

    @ApiModelProperty("文件名")
    @ExcelAnno(cellName = "文件名", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String fileName;

    @ApiModelProperty("备注")
    @ExcelAnno(cellName = "备注", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String remark;

    @ApiModelProperty("类型 - 计生 特调")
    @ExcelAnno(cellName = "类型", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String type;

    @ApiModelProperty("关系人证件号")
    @ExcelAnno(cellName = "关系人证件号", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String relationIdNo;

    @ApiModelProperty("关系")
    @ExcelAnno(cellName = "与本人关系", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String relation;

    @ApiModelProperty("图片备注")
    @ExcelAnno(cellName = "图片备注", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String phoneRemark;

    @ApiModelProperty("证件类型")
    @ExcelAnno(cellName = "证件类型", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String certificatesType;

    @ApiModelProperty(notes = "导入文件夹名称 - 客户说不清是否有用，保存数据迁移中的数据，以防有用。新系统暂时无用")
    private String importCode;

    @ApiModelProperty("文件ID集合")
    private List<String> fileIdList;

    @ApiModelProperty("导入日期")
    private Date importDate;

    @ApiModelProperty("操作时间")
    private Date operatorTime;

    @ApiModelProperty("批次号")
    private String batchNumber;

    @ApiModelProperty(notes = "相关证件")
    private List<SpecialTransferPhotoData> credentialSet = new ArrayList<>();

    @ApiModelProperty("不匹配信息")
    @Field(type = FieldType.Object)
    private List<RemarkModel> remarkMap = new ArrayList<>();

}
